ysflightsimfandomcom-20200216-history
DAT Files
The .dat file is a text file that specifies aircraft performance by a list of variables. It is named for its extension (.dat), and generally pronounced "DAT". File structure Variables are defined by 8 character lines and a number. These numbers can be effectively limitless, such as engine thrust, or a fraction of 1, such as cruise throttle. There are four major sections: power, positioning, performance, and weapons. The power section includes the aircraft name and type, engine type and thrust, and weights and fuel. The positioning section, see image, includes viewpoints, landing gear positions, and gun positions. The performance section defines maximum and minimum angle of attack, pitch yaw and roll rates, and lift and drag effects of flaps and spoilers, among others. The weapons section sets the position of weapon hardpoints, what stores can be carried on each, the maximum and default loadings of individual weapons, and which weapon is selected on starting a flight. For specific definitions of every variable contained in the file, refer the list on YSFHQ, [[http://ysfhq.com/phpbb3/viewtopic.php?f=33&t=1772 here]]. DAT Variables *'"IDENTIFY "F-16C_FIGHTINGFALCON"' - The IDENTIFY heading is what the model will be called while in the game (YSflight only recognizes the first 32 characters in the IDENTIFY string. So if you have multiple aircraft where the IDENTIFY string is identical on the first 32 characters, YSflight will load the same aircraft with the same name it first encountered in all the air*.lst files combined.) *'SUBSTNAM' - The name of any plane (in the .dat) can go here. The plane chosen will substitute the grey, block plane that is generated when a unknown (client side) plane is flown on a server. Because of this, it is best to use stock aircraft otherwise the client may not have the chosen plane - more or less defeating the purpose. *'CATEGORY FIGHTER' - CATEGORY states what heading it will appear under (eg. WW2, CIVILIAN, etc...) *'AFTBURNR TRUE/FALSE' - Does the model have afterburner capabilities? *'PROPELLER '- The horsepower of all propeller engines added togther *'PROPEFCY '- The efficiency of the propeller (from 1 to 0) *'PROPVMIN '- The minimum speed that T=P/V becomes valid. *'THRAFTBN' - The amount of trust that the afterburner produces at full power (RED IN YSF) the unit is tons of force (tons force) denoted as t *'THRMILIT' - The amount of thrust that the military power produces at full power (GREEN IN YSF) also in tons force *'THRSTREV' - How efficient the reverse thrust is (what fraction of maximum military thrust the engine can produce in reverse). *'WEIGHCLN' - The weight of the model when it is empty (no fuel, missles, guns or flares) *'WEIGFUEL' - The weight of the fuel, when the tank is at 100%. This influences the model's flight characteristics especially, in a fighter. *'WEIGLOAD' - The weight of the payload (missles and bombs). This influences the model's flight characteristics, especially in a fighter. *'FUELABRN' - The amount of fuel consumed with full afterburner. (At a rate of units (kg? lb?) every second. In this case, the F-16 uses 2.5kg of it's 1900kg tank every second with full afterburner) *'FUELMILI' - The amount of fuel consumed with full military power. (At a rate of kilos every second. In this case, the F-16 uses 0.2kg of it's 1900kg fuel tank every second with full military power.) *'COCKPITP' 0.0m 0.0m 0.0m - States the position (Y, Z, X) of the 'cockpit' when in the game. This is the position when you press F1, the main viewing camera. *'EXCAMERA "NAME" 0.0m 0.0m 0.0m 0deg 0deg 0deg '- States the position (Y, Z, X) and angle (Y, Z, X) of additional view points in the game. This is the position when you press F1 again, another view point. *'INSTPANL ...../...... '- The file name and location of a custom instrument panel. *'ISPNLPOS 0m 0m 0m' - Position (Y, Z, X) of the custom instument panel *'ISPNLSCL 0.00' - Scaling factor for the panel. Adjust it to make the entire panel look larger/smaller. *'ISPNLATT 0deg 0deg 0deg '- angle of the instrument panel - used to tilt the panel to the same angle as a cockpit dashboard. *'ISPNLHUD' - HUD as well as analog instrument panel. *'SCRNCNTR 0.0 0.0 '- The position of the viewpoint relative to the center of the viewport. To explain this, sitting in front of your computer, hold up a piece of paper in front of you. The area covered by that piece of paper is the viewport - the window which you see from the cockpit in YSflight. Now keep your head and your eyes at the same spot, but move that piece of paper around. Your viewpoint (i.e. your eyes) has not moved, but the viewport is moving. A positive Y value (X, Y) means the view point is above the centre of the viewport, which is the same has having the viewport moved downwards. This is useful in giving you more view area below - i.e. inside the cockpit - and lets you display the instruments larger without having them going off the bottom of the window. *'LEFTGEAR 0.0m 0.0m 0.0m '- The position (X, Y, Z) of the left gear. A close approximation to the model. *'RIGHGEAR 0.0m 0.0m 0.0m '- The position (X, Y, Z) of the left gear. A close approximation to the model. *'WHELGEAR 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the nose gear. A close approximation to the model. *'ARRESTER 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the arrester hook, required if the model is capable to land on a carrier. A close approximation to the model. *'MACHNGUN 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the machine gun, where the bullets originate from. *'MACHNGN2 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the second machine gun, where the bullets originate from. Another can be made by changing 2 to 3 etc... *'GUNINTVL 0.00' - The number of seconds between each shot. If left blank, the default is 0.02. (this may no longer be the case) *'GUNDIREC 0.0m 0.0m 0.0m' - The direction that bullets will appear when fired. When including this code, the gun will shoot at 90deg (Directly right when looking down). A -1 in the X variable will make the gun shoot at 270deg (directly left when looking down). A -1 in the Y variable will make the gun shoot directly downwards (into the ground). A +1 will make it shoot upwards. A -1 in the Z variable will shoot the gun backwards, a +1 will shoot forward. *'SMOKEGEN 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the smoke generator. *'VAPORPO0 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the vapor trail. *'VAPORPO1 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the vapor trail - movable (VGW) wings (f-14 etc..) When folded, the vapor trail comes from this position. *'HTRADIUS 0.0m' - This is maximum distance(*) from which YSflight will attempt collision detection. Imagine a sphere centred around your aircraft (centre at 0,0,0) with a radius equals to HTRADIUS. Make sure this sphere is large enough to enclose the entire model, but not so large that YSflight will be performing unnecessary calculations for collision detection when two objects are far enough apart that collision, with the model, is impossible. Also changes the default camera distance in F8 or F7 view. **(*) YSflight will not perform collision detection if the distance between object A and object B is greater than the sum of their HTRADIUS. Trigger1 GUN TRIGGER2 AAM TRIGGER3 AGM TRIGGER4 RKT The order that weapons appear in game. *'STRENGTH 00' - The strength factor of the plane. Each bullet is equal to 1 damage, by default. *'CRITAOAP 21deg' - The maximum angle of attack at which to get best maneuverability (Up) *'CRITAOAM -15deg' - The maximum angle of attack at which to get best maneuverability. (Down) *'CRITSPED 1.2MACH' - Determines when the aircraft meets supersonic drag effects - the drag effects aren't simulated, but this value affects the overall acceleration and deceleration of a jet (it dictates gravitational acceleration on an unpowered aircraft) *'MAXSPEED 2.0MACH' - Maximum speed able to be achieved, can sometimes be exceeded depending on the .dat cruise speed and throttle settings. *'HASSPOIL TRUE/FALSE' - Does the aircraft have a spoiler? *'RETRGEAR TRUE/FALSE' - Does the aircraft have retractable landing gear? *'VARGEOMW TRUE/FALSE' - Does the aircraft have moveable wings controlled by speed (F-14)? *'CLVARGEO 0.0' - The increase in lift when the variable sweep wing is out *'CDVARGEO 0.0' - The increase in drag when the variable sweep wing is out. *'CLBYFLAP 0.0' - The increase in lift when the flaps are fully deployed *'CDBYFLAP 0.0' - The increase in drag when the flaps are fully deployed *'CDBYGEAR 0.0' - The increase in drag when the landing gears are deployed. *'CDSPOILR 0.0 '- The increase in drag when the spoiler is deployed. *'TRSTVCTR TRUE/FALSE' - Does the model have thrust vectoring capabilities? *'TRSTDIR0 0.0m 0.0m 0.0m' - The position (X, Y, Z) of the first thrust vectoring variable. *'TRSTDIR1 0.0m 1.0m 0.0m' - The position (X, Y, Z) of the second thrust vectoring variable. *'PSTMPTCH 3deg' - Angle of pitch possible post-stall *'PSTMYAW 7deg' - Angle of Yaw possible post-stall *'PSTMROLL 3deg' - Angle of roll possible post-stall *'WINGAREA 30m^2' - How many square meters of wing are available for lift (helps when you are carrying a heavy load). Written as ##m^2 *'MXIPTAOA 25.0deg' - How many degrees upward the aircraft moves at CRITSPEED when the stick is all the way back in one second. *'MXIPTSSA 5.0deg' - How many degrees of YAW the aircraft moves at CRITSPEED when the stick is hard in one second. *'MXIPTROL 360.0deg '- How many degrees the aircraft rolls at CRITSPEED when the stick is hard in one second. REM CPITMANE corresponds to Spring Constant K REM CPITSTAB corresponds to Damper Constant B REM To be critically damped, B=2*sqrt(K) REM 2% Settling Time=?? (***This is the way the game finds how quickly the aircraft regains neutral attitude in relation to the stability values below (when controls are released/relaxed) I wouldn't mess with it if I were you, unless you want to experiment.***) *'MANESPD1 000kt' - Minimum maneuverable speed while flying. *'MANESPD2 000kt '- Fully maneuverable speed while flying. *'CPITMANE 0.0' - Pitch maneuverability - how fast the jet reacts to pitch input. (note from shutter: Has a dramatic effect on turn performance. The higher it is, the better your turn radius) *'CPITSTAB 0.0 '- Pitch stability a low pitch stability will tend to rock up and down when elevator is applied. (This affects a number of things. While a higher than 1 value can reduce normal agility, it also gives the aircraft the ability to trim far more aggressively. Be careful with this line to avoid the creation of cheat planes) *'CYAWMANE 0.0' - Yaw maneuverability, dictates how responsive the yaw is / how fast it can get to the max imput SSA (side to side action aka yaw) *'CYAWSTAB 0.0 '- Stability of the yaw. If it's not stable (low value), the aircraft will keep yawing left and right when the rudder is released. High stability yaw means that if you use the rudder, then let go, it'll return straight to neutral *'CROLLMAN 0.0 '- Roll maneuverability constant - roughly dictates how sensitive / fast the aircraft can roll; low number = slow to react. *'CTLLDGEA TRUE/FALSE' - Is there controllable landing gear? *'CTLBRAKE TRUE/FALSE' - Is there a controllable brake? *'CTLSPOIL 0.0' - Is there a controllable spoiler? *'CTLABRNR TRUE/FALSE' - Is there controllable afterburner? *'CTLTHROT 0.0' - Is there controllable throttle? *'CTLIFLAP 0.0' - Is there controllable flaps? *'CTLINVGW 0.0 '- Is there controllable variable geometry wing? *'CTLATVGW TRUE/FALSE' - Is there control over the auto variable geometry wing? *'Position 0m 0m 0m' - The position of the plane when loaded in the game (***BELIEVED TO BE A NOW DEFUNCT VARIABLE***) *'Attitude 0deg 0deg 0deg' - (***BELIEVED TO BE A NOW DEFUNCT VARIABLE***) *'INITFUEL 75%' - Amount of fuel when in the loadout screen in game. *'INITLOAD 0.0t '- Initial weight of a model's load. Useful to simulate the weight of a passenger or cargo plane *'INITSPED 0.0MACH' - Initial speed of the model in the game (?) *REM Slots must come before Inits. HRDPOINT -0.893m -1.141m 1.169m B500*2 AGM65*2 AIM120*2 AIM9*2 AIM9X*2 $INTERNAL HRDPOINT 0.893m -1.141m 1.169m B500*2 AGM65*2 AIM120*2 AIM9*2 AIM9X*2 $INTERNAL HRDPOINT 0.893m -1.141m 1.169m AIM120*1 $INTERNAL HRDPOINT -0.893m -1.141m 1.169m AIM120*1 $INTERNAL The sets of 3 numbers at first, are of course coordinates in 3d space for that hardpoint (X, Y, Z), followed by information on what weapon can be put on it. The Asterix serves to demonstrate the maximum quantity of that given weapon on that hardpoint. $internal means the weapon is not displayed while flying, generally for bomb bays and such. *'LMTBYHDP TRUE/FALSE' - If TRUE, then you can only have as many bombs as you have hardpoints for bombs, etc... *'GUNPOWER 0' - The amount of damage given by one bullet. *'INITIGUN 2000' - Initial number of bullets. *'WEAPONCH###' - code Preselects certain weapons: GUN, AAM, AGM, BOM, and SMK. Though RKT doesn't seem to do anything... *'SMOKEOIL 100.0kg' - Adds 100kg of smoke (untested thoroughly) *'LOADWEPN code 0 '- Initial number of weapons. Can be repeated. NOTE: When writing up the loadwepn variables, fuel tanks require that you make multiple entries of 800 each, otherwise it will only load a single tank with far too much fuel. The correct code is : LOADWEPN FUEL 800 LOADWEPN FUEL 800 *'NMTURRET 0' - Refers to how many turrets the model will have. (eg. If 48, then you will need to repeat the turret codes for 48 different turrets.) *'TURRETPO 0 0m 0m -22.05m 180deg 0deg 0deg '- The position (X, Y, Z) of the turret and its angle (H, P, B). *'TURRETPT 0 -60deg 60deg 0deg' - The minimum pitch, maximum pitch and neutral pitch of the turret. (The turret will move within these parameters) *'TURRETHD 0 -60deg 60deg 0deg # Number MinHdg MaxHdg NeutralHdg' *'TURRETAM 0 5000' - Ammo of the turret. *'TURRETIV 0 0.2sec' - Shooting interval of the gun. *'TURRETNM 0 TURRET' - If the turret is a part of the model, include the name of the .srf, this will allow the YSF program to move the turret as a gun. *'TURRETAR 0' - Is the turret anti-air capable? If yes, then include this code. *'TURRETGD 0' - Is the turret anti-ground capable? If yes, then include this code. *'TURRETCT 0 GUNNER/PILOT '- Is the turret controlled by the YSF program? Or by the pilot? *'TURRETRG 0 1500m' - The range of the turret. 0 - The 0 refers to the parameters belonging to the '0' turret. The next turret will have '1' and so on until all turrets mentioned in NMTURRET are complete. *'BMBAYRCS 0.0 '- The radar cross-section of the bomb bay when open *'BOMBINBAY TRUE/FALSE' - Are the bombs in the bomb bay? Affects radar cross-section. *'RADARCRS 0.0' - The radar cross-section of the aircraft. The lower the number, greater the stealth. *'REM ClZero,CdZero '''is fixed by Cruising condition *'REFVCRUS 0.00Mach''' - The cruising speed of the aircraft DO NOT SET THIS HIGHER THAN THE MAX SPEED LINE *'REFACRUS 00000ft' - Cruising altitude of the aircraft *'REFTCRUS 0.0' - Cruising throttle setting. Refers to the maximum thrust of the engine(s). If an aircraft has afterburners, "1.0" means max thrust with afterburners on. (note from shutter: I somewhat disagree with this. It can be set to higher than 1 gac f-35a and HUGELY affects fighter turn performance. The higher the number, the less you bleed speed in a hard turn) Note that REFVCRUS, REFACRUS and REFTCRUS values have a significant influence on the aircraft's aerodynamic performance - the game uses these values, in conjunction with some of those above and below, to create functions / graphs that give the aircraft it's velocity at _____ feet altitude and at _____% throttle. *'REM ClSlope,CdConst is fixed by Landing condition' *'REFVLAND 000kt' - Optimum landing speed *'REFAOALD 00deg' - Optimum landing angle NOTE::: Both REFVLAND and REFAOALD determine how closely the aircraft's direction matches its attitude. Smaller values (80-100 knots, 5-10 degrees) make the plane track more precisely, with more G-loading at higher speeds, where larger values (110-120 knots, 10-15 degrees)make the plane "slide" at lower G's. *'REFLNRWY 000m' - Amount of runway required to stop *'REFTHRLD 0.00' - Optimum throttle setting required to stop. Worth noting is that this also determines how much speed a plane loses during a turn. A value of 0.12 seems about normal, where a value of 0.2 causes considerable speed loss. *'MAXNMFLR 60' - Amount of flares carried by the aircraft by default. *'FLAREPOS -1.01m -0.63m -5.01m -3.0m -3.0m -1.0m' - The first three coordinates are the origin (X, Y, Z) of the flares relative to the centre point of the model. The last three serve as velocity of the flares in the given axis (X, Y, Z) in meters per second. Category:Modding DAT Weapon Codes Loadings There are 10 loadable stores available: *AGM65 (Air to ground missile) *AIM9 (Air to air missile, short range) *AIM9X (Agile air to air missile, short range) *AIM120'' (Air to air missile, long range)'' *B250 (250lbs bomb) *B500 (500lbs bomb) *B500HD'' (500lbs high drag bomb)'' *RKT'' (Rocket pod of 19 rockets)'' *FLR (Flare pod of 20 flares) *FUEL (External fuel tank of 800kg) **'Note: By typing FUEL1000, 1000kg will be loaded into the fuel tank Aircraft Catgory Codes These are the codes that are inputted into the 'CATAGORY '''line of the DAT file. *Fighter *Normal *Bomber *WWII Fighter *WWII Attacker *WWII Bomber *WWII Dive Bomber *Attacker *Utility *Aerobatic *Trainer *Helicopter 2015 .DAT alterations Please note the following .DAT additions are only compatible with the 2015 and later version of YS. Using these functions in an older version of YS will cause errors during flight and start up. '''REALPROP -' '''MAXCDAOA 00deg - AOA at which Cd becomes the largest FLATCLR1 - Cl stays the same this angle beyond critical AOA (positive side) FLATCLR2 - Cl stays the same this angle beyond critical AOA (minus side) CLDECAY1 - After flat Cl range, Cl decays to zero in this range of angle (positive side) CLDECAY2 - After flat Cl range, Cl decays to zero in this range of angle (minus side) Note: Controls post stall movement. PSTMPWR - POST-STALL ATTITUDE CONTROL #1-Maximum #2-Minimum TIREFRIC - Comments in Dat Files Comments in .dat files can be either: *REM anywhere in the file. This will cause the program to not read the rest of the line. *The pound sign (#), which is used in the .dat file to mark comments after commands. A # placed at the beginning of a line will generate an error. Final Comments Make sure that CRITSPED is below MAXSPEED otherwise an error will occur everytime you use the plane. the MiG-15 in YS Major's pack is an example of such a case. Category:Modding